package com.ddstation.instrument_disinfect.service;

import java.util.List;
import java.util.Map;

import com.ddstation.common.model.InvsCheckCommonSchParModel;
import com.ddstation.common.model.SimpleModel;
import com.ddstation.crud.entity.DtInvsInstrumentDisinfectEntity;
import com.ddstation.crud.entity.DtInvsInstrumentEntity;
import com.ddstation.instrument_disinfect.model.*;

/**
 * 医疗废弃物service
 * 
 * @author zhengxiaobin
 * @date 2019年8月6日
 */
public interface InstrumentDisinfectService {
	// 查询
	public List<InstrumentDisinfectResModel> searchInstrumentDisinfectList(InvsCheckCommonSchParModel _in);

	// 诊所明细记录查询
	public List<InstrumentDisinfectHeadResModel> searchDetailList(InstrumentDisinfectDetailParModel _in);

	// 查询机构下所有器械
	public List<DtInvsInstrumentEntity> searchInstrumentList(String institutionId, int type);

	// App历史记录查询
	public List<InstrumentDisinfectHeadResModel> selectByHistory(String institutionId, Integer instrumentType, int pageNo, int pageSize);

	// 器械或场所消毒名称查询
	public List<SimpleModel> selectByInstrumentName(String institutionId, Integer instrumentType);

	// 新增器械或场所
	public int addInstrumentName(String institutionId, Integer instrumentType, String name);

	// 新增器械或场所判断是否重复
	public List<String> checkByInstrumentName(String institutionId, Integer instrumentType, String name);

	// 删除器械或场所
	public int delInstrumentName(String institutionId, Integer instrumentType, Integer id);

	// 登记器械或场所记录
	public Map<String, Object> addInstrumentDisinfect(DtInvsInstrumentDisinfectEntity entity, String itemList, DtInvsInstrumentDisinfectUltravioletModel dtInvsInstrumentDisinfectUltravioletModel);

	// 登记器械或场所详情
	public DtInvsInstrumentDisinfectEntity instrumentDisinfectDetail(String institutionId, Integer id);

	// 获取所有紫外线灯的信息
	public List<DtInvsInstitutionUltravioletInstrumentModel> getUltravioletInstrumentsByInstitution(String institutionId, Integer status);

	// 保存紫外灯具信息
	public boolean saveUltravioletInstrument(DtInvsInstitutionUltravioletInstrumentModel dtInvsInstitutionUltravioletInstrumentModel);

	// 更新紫外线灯具的信息
	public boolean updateUltravioletInstrument(DtInvsInstitutionUltravioletInstrumentModel dtInvsInstitutionUltravioletInstrumentModel);

	// 更新紫外线灯具的信息
	public boolean abandonUltravioletInstrument(Integer ultraId);

	// 根据场所消毒记录查询紫外线灯具使用记录
	public DtInvsInstrumentDisinfectUltravioletModel getUltravioletUsageByDisinfectId(Integer disinfectId);

	// 查询所有紫外线灯的更换记录
	public List<UltravioletRecordDisplayModel> getUltravioletRecordsByInstitution(String institutionId);

	// 查询卫监诊所紫外线灯记录
	public List<DtInvsUltravioletResModel> getInstitutionUltravioletByInvsInstitution(String institutionId, String name, Integer status,String institutionTypeFirst);
}
